/**
 * 
 */
package com.xpec.c4.db.model;

import java.util.Calendar;

import javax.persistence.Entity;
import javax.persistence.Table;

import org.hibernate.annotations.Index;

import com.xpec.c4.db.model.log.basic.BasicLogModel;

/**
 * 清除機台座位保留資料的記錄
 * 
 * @author TW15010
 */
@Entity
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)
@Table(name = "player_keep_clear_log")
public class PlayerKeepSeatClearLogModel extends BasicLogModel {
	private static final long serialVersionUID = 5426869904665480215L;

	/** 等待清除 */
	public static final int WAIT_CLEAR = 0;

	/** 清除完成 */
	public static final int FINISH = 1;

	/**
	 * 遊戲類型
	 */
	private String gameType;

	/**
	 * 館別
	 */
	private String hallType;

	/**
	 * 座位id
	 */
	private String seatId;

	/**
	 * 機台編號
	 */
	private int machineId;

	/**
	 * 超時時間
	 */
	private Calendar timeOut;

	/**
	 * 機台狀態
	 */
	private int machineStat;

	/**
	 * server模組id
	 */
	private String moduleId;

	/**
	 * 角色 id
	 */
	private String playerId;

	/**
	 * 是否離線保留
	 */
	private boolean offlineKeep;

	/**
	 * 處理狀態 {@link #WAIT_CLEAR}
	 */
	private int status;

	/**
	 * 完成時間
	 */
	private Calendar finishTime;

	public String getGameType() {
		return gameType;
	}

	public void setGameType(String gameType) {
		this.gameType = gameType;
	}

	public String getHallType() {
		return hallType;
	}

	public void setHallType(String hallType) {
		this.hallType = hallType;
	}

	public String getSeatId() {
		return seatId;
	}

	public void setSeatId(String seatId) {
		this.seatId = seatId;
	}

	public String getPlayerId() {
		return playerId;
	}

	public void setPlayerId(String playerId) {
		this.playerId = playerId;
	}

	public boolean isOfflineKeep() {
		return offlineKeep;
	}

	public void setOfflineKeep(boolean offlineKeep) {
		this.offlineKeep = offlineKeep;
	}

	@Index(name = "status")
	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public Calendar getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(Calendar finishTime) {
		this.finishTime = finishTime;
	}

	public int getMachineId() {
		return machineId;
	}

	public void setMachineId(int machineId) {
		this.machineId = machineId;
	}

	public Calendar getTimeOut() {
		return timeOut;
	}

	public void setTimeOut(Calendar timeOut) {
		this.timeOut = timeOut;
	}

	public int getMachineStat() {
		return machineStat;
	}

	public void setMachineStat(int machineStat) {
		this.machineStat = machineStat;
	}

	public String getModuleId() {
		return moduleId;
	}

	public void setModuleId(String moduleId) {
		this.moduleId = moduleId;
	}
}
